
<!DOCTYPE html>

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta charset="utf-8" />
  
  <!-- Licensed under the Apache 2.0 License -->
  <link rel="stylesheet" type="text/css" href="_static/fonts/open-sans/stylesheet.css" />
  <!-- Licensed under the SIL Open Font License -->
  <link rel="stylesheet" type="text/css" href="_static/fonts/source-serif-pro/source-serif-pro.css" />
  <link rel="stylesheet" type="text/css" href="_static/css/bootstrap.min.css" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  
    <title>jMetalPy: Python version of the jMetal framework &#8212; jMetalPy 1.5.3 documentation</title>
    <link rel="stylesheet" href="_static/guzzle.css" type="text/css" />
    <link rel="stylesheet" href="_static/pygments.css" type="text/css" />
    <link rel="stylesheet" type="text/css" href="_static/custom.css" />
    <script type="text/javascript" id="documentation_options" data-url_root="./" src="_static/documentation_options.js"></script>
    <script type="text/javascript" src="_static/jquery.js"></script>
    <script type="text/javascript" src="_static/underscore.js"></script>
    <script type="text/javascript" src="_static/doctools.js"></script>
    <script type="text/javascript" src="_static/language_data.js"></script>
    <script crossorigin="anonymous" integrity="sha256-Ae2Vz/4ePdIu6ZyI/5ZGsYnb+m0JlOmKPjt6XZ9JJkA=" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/require.js/2.3.4/require.min.js"></script>
    <script async="async" type="text/javascript" src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/latest.js?config=TeX-AMS-MML_HTMLorMML"></script>
    <script type="text/x-mathjax-config">MathJax.Hub.Config({"tex2jax": {"inlineMath": [["$", "$"], ["\\(", "\\)"]], "processEscapes": true, "ignoreClass": "document", "processClass": "math|output_area"}})</script>
    <link rel="index" title="Index" href="genindex.html" />
    <link rel="search" title="Search" href="search.html" />
    <link rel="next" title="Getting started" href="tutorials.html" />
  
   

  </head><body>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             accesskey="I">index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="tutorials.html" title="Getting started"
             accesskey="N">next</a> |</li>
        <li class="nav-item nav-item-0"><a href="#">jMetalPy 1.5.3 documentation</a> &#187;</li> 
      </ul>
    </div>
    <div class="container-wrapper">

      <div id="mobile-toggle">
        <a href="#"><span class="glyphicon glyphicon-align-justify" aria-hidden="true"></span></a>
      </div>
  <div id="left-column">
    <div class="sphinxsidebar"><a href="
    #" class="text-logo">
    <img src="_static/jmetalpy.png" class="img-fluid" alt="jMetalPy 1.5.3 documentation">
    <br>
</a>

<div class="sidebar-block">
  <div class="sidebar-wrapper">
    Python version of the jMetal framework
  </div>
</div>
<div class="sidebar-block">
  <div class="sidebar-wrapper">
    <h2>Table Of Contents</h2>
  </div>
  <div class="sidebar-toc">
    
    
      <ul>
<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="multiobjective.algorithms.html">Multi-objective algorithms</a></li>
<li class="toctree-l1"><a class="reference internal" href="singleobjective.algorithms.html">Single-objective algorithms</a></li>
<li class="toctree-l1"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l1"><a class="reference internal" href="problems.html">Problems</a></li>
</ul>

    
  </div>
</div>
<div class="sidebar-block">
  <div class="sidebar-wrapper">
    <h2>Contents</h2>
    <div class="sidebar-localtoc">
      <ul>
<li><a class="reference internal" href="#">jMetalPy: Python version of the jMetal framework</a><ul>
<li><a class="reference internal" href="#content">Content</a></li>
<li><a class="reference internal" href="#installation-steps">Installation steps</a></li>
<li><a class="reference internal" href="#summary-of-features">Summary of features</a></li>
<li><a class="reference internal" href="#cite-us">Cite us</a></li>
</ul>
</li>
</ul>

    </div>
  </div>
</div>
<div class="sidebar-block">
  <div class="sidebar-wrapper">
    <div id="main-search">
      <form class="form-inline" action="search.html" method="GET" role="form">
        <div class="input-group">
          <input name="q" type="text" class="form-control" placeholder="Search...">
        </div>
        <input type="hidden" name="check_keywords" value="yes" />
        <input type="hidden" name="area" value="default" />
      </form>
    </div>
  </div>
</div>
      
    </div>
  </div>
        <div id="right-column">
          
          <nav aria-label="breadcrumb">
            <ol class="breadcrumb">
              <li class="breadcrumb-item"><a href="#">Docs</a></li>
              
              <li class="breadcrumb-item">jMetalPy: Python version of the jMetal framework</li>
            </ol>
          </nav>
          
          <div class="document clearer body">
            
  <div class="section" id="jmetalpy-python-version-of-the-jmetal-framework">
<h1>jMetalPy: Python version of the jMetal framework<a class="headerlink" href="#jmetalpy-python-version-of-the-jmetal-framework" title="Permalink to this headline">¶</a></h1>
<div class="admonition warning">
<p class="admonition-title">Warning</p>
<p>Documentation is work in progress!! Some information may be missing or incomplete.</p>
</div>
<table class="docutils align-default">
<colgroup>
<col style="width: 68%" />
<col style="width: 32%" />
</colgroup>
<tbody>
<tr class="row-odd"><td><p><strong>Target doc</strong></p></td>
<td><p>v1.5.3</p></td>
</tr>
</tbody>
</table>
<div class="section" id="content">
<h2>Content<a class="headerlink" href="#content" title="Permalink to this headline">¶</a></h2>
<div class="toctree-wrapper compound">
<ul>
<li class="toctree-l1"><a class="reference internal" href="tutorials.html">Getting started</a></li>
<li class="toctree-l1"><a class="reference internal" href="multiobjective.algorithms.html">Multi-objective algorithms</a></li>
<li class="toctree-l1"><a class="reference internal" href="singleobjective.algorithms.html">Single-objective algorithms</a></li>
<li class="toctree-l1"><a class="reference internal" href="operators.html">Operators</a></li>
<li class="toctree-l1"><a class="reference internal" href="problems.html">Problems</a></li>
</ul>
</div>
</div>
<div class="section" id="installation-steps">
<h2>Installation steps<a class="headerlink" href="#installation-steps" title="Permalink to this headline">¶</a></h2>
<p>Via pip:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pip install jmetalpy  <span class="c1"># or &quot;jmetalpy[distributed]&quot;</span>
</pre></div>
</div>
<div class="admonition note">
<p class="admonition-title">Note</p>
<p>Alternatively, you can use one of these instead:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> pip install <span class="s2">&quot;jmetalpy[core]&quot;</span>  <span class="c1"># Install core components of the framework (equivalent to `pip install jmetalpy`)</span>
<span class="gp">$</span> pip install <span class="s2">&quot;jmetalpy[docs]&quot;</span>  <span class="c1"># Install requirements for building docs</span>
<span class="gp">$</span> pip install <span class="s2">&quot;jmetalpy[distributed]&quot;</span>  <span class="c1"># Install requirements for parallel/distributed computing</span>
<span class="gp">$</span> pip install <span class="s2">&quot;jmetalpy[complete]&quot;</span>  <span class="c1"># Install all dependencies</span>
</pre></div>
</div>
</div>
<p>Via source code:</p>
<div class="highlight-console notranslate"><div class="highlight"><pre><span></span><span class="gp">$</span> git clone https://github.com/jMetal/jMetalPy.git
<span class="gp">$</span> python setup.py install
</pre></div>
</div>
</div>
<div class="section" id="summary-of-features">
<h2>Summary of features<a class="headerlink" href="#summary-of-features" title="Permalink to this headline">¶</a></h2>
<p>The current release of jMetalPy (v1.5.3) contains the following components:</p>
<ul class="simple">
<li><p>Algorithms: local search, genetic algorithm, evolution strategy, simulated annealing, random search, NSGA-II, NSGA-III, SMPSO, OMOPSO, MOEA/D, MOEA/D-DRA, MOEA/D-IEpsilon, GDE3, SPEA2, HYPE, IBEA. Preference articulation-based algorithms (G-NSGA-II, G-GDE3, G-SPEA2, SMPSO/RP); Dynamic versions of NSGA-II, SMPSO, and GDE3.</p></li>
<li><p>Parallel computing based on Apache Spark and Dask.</p></li>
<li><p>Benchmark problems: ZDT1-6, DTLZ1-2, FDA, LZ09, LIR-CMOP, unconstrained (Kursawe, Fonseca, Schaffer, Viennet2), constrained (Srinivas, Tanaka).</p></li>
<li><p>Encodings: real, binary, permutations.</p></li>
<li><p>Operators: selection (binary tournament, ranking and crowding distance, random, nary random, best solution), crossover (single-point, SBX), mutation (bit-blip, polynomial, uniform, random).</p></li>
<li><p>Quality indicators: hypervolume, additive epsilon, GD, IGD.</p></li>
<li><p>Pareto front approximation plotting in real-time, static or interactive.</p></li>
<li><p>Experiment class for performing studies either alone or alongside jMetal.</p></li>
<li><p>Pairwise and multiple hypothesis testing for statistical analysis, including several frequentist and Bayesian testing methods, critical distance plots and posterior diagrams.</p></li>
</ul>
</div>
<div class="section" id="cite-us">
<h2>Cite us<a class="headerlink" href="#cite-us" title="Permalink to this headline">¶</a></h2>
<div class="highlight-LaTeX notranslate"><div class="highlight"><pre><span></span>@article<span class="nb">{</span>BENITEZHIDALGO2019100598,
   title = &quot;jMetalPy: A Python framework for multi-objective optimization with metaheuristics&quot;,
   journal = &quot;Swarm and Evolutionary Computation&quot;,
   pages = &quot;100598&quot;,
   year = &quot;2019&quot;,
   issn = &quot;2210-6502&quot;,
   doi = &quot;https://doi.org/10.1016/j.swevo.2019.100598&quot;,
   url = &quot;http://www.sciencedirect.com/science/article/pii/S2210650219301397&quot;,
   author = &quot;Antonio Benítez-Hidalgo and Antonio J. Nebro and José García-Nieto and Izaskun Oregi and Javier Del Ser&quot;,
   keywords = &quot;Multi-objective optimization, Metaheuristics, Software framework, Python, Statistical analysis, Visualization&quot;,
<span class="nb">}</span>
</pre></div>
</div>
</div>
</div>


          </div>
            
  <div class="footer-relations">
    
      <div class="float-right">
        <a class="btn btn-outline btn-sm" href="tutorials.html" title="next chapter (use the right arrow)">Getting started →</a>
      </div>
    </div>
    <div class="clearer"></div>
  
        </div>
        <div class="clearfix"></div>
    </div>
    <div class="related" role="navigation" aria-label="related navigation">
      <h3>Navigation</h3>
      <ul>
        <li class="right" style="margin-right: 10px">
          <a href="genindex.html" title="General Index"
             >index</a></li>
        <li class="right" >
          <a href="py-modindex.html" title="Python Module Index"
             >modules</a> |</li>
        <li class="right" >
          <a href="tutorials.html" title="Getting started"
             >next</a> |</li>
        <li class="nav-item nav-item-0"><a href="#">jMetalPy 1.5.3 documentation</a> &#187;</li> 
      </ul>
    </div>
<script type="text/javascript">
  $("#mobile-toggle a").click(function () {
    $("#left-column").toggle();
  });
</script>
<script type="text/javascript" src="_static/js/bootstrap.js"></script>
  <div class="footer">
    &copy; Copyright 2019, Antonio Benítez-Hidalgo. Created using <a href="http://sphinx.pocoo.org/">Sphinx</a>.
  </div>
  </body>
</html>